package cn.bandeqing.sys.rpc;

import cn.bandeqing.base.resp.Resp;
import cn.bandeqing.base.resp.Table;
import cn.bandeqing.sys.req.*;
import cn.bandeqing.sys.resp.*;

import java.util.List;
import java.util.Map;

public interface ISysRpc {

    Resp<Table<ConfigTable>> configTable(ConfigTableReq req);

    void configSaveOrUpdate(ConfigSaveOrUpdateReq req);

    Resp<Table<RoleTable>> roleTable(RoleTableReq req);

    void roleSaveOrUpdate(RoleSaveOrUpdateReq req);

    Resp<Table<AuthorityTable>> authorityTable(AuthorityTableReq req);

    void authoritySaveOrUpdate(AuthoritySaveOrUpdateReq req);

    Resp<List<RoleAuthTree>> roleAuthTree();

    Resp<Void> roleAuths(RoleAuthsReq req);

    Resp<List<Long>> getAuths(GetAuthsReq req);

    Resp<List<DictTypeSelect>> dictType(DictTypeReq req);

    Resp<List<DictResp>> dict(DictReq req);

    Resp<Table<CityTable>> cityTable(CityTableReq req);

    void citySaveOrUpdate(CitySaveOrUpdateReq req);

    Resp<Map<String, List<CityResp>>> city();

    Resp<Table<DictTypeTable>> dictTypeTable(DictTypeTableReq req);

    void dictTypeSaveOrUpdate(DictTypeSaveOrUpdateReq req);

    Resp<Table<DictListTable>> dictListTable(DictListTableReq req);

    void dictListSaveOrUpdate(DictListSaveOrUpdateReq req);

    Resp<List<CityResp>> citySelect();

    Resp<Table<AppTable>> appTable(AppTableReq req);

    void appSaveOrUpdate(AppSaveOrUpdateReq req);

    Resp<AppVersionResp> appVersion(AppVersionReq req);

    Resp<Table<EquipmentTable>> equipmentTable(EquipmentTableReq req);

    Resp<Table<Unipush2Table>> unipush2Table(Unipush2TableReq req);

    Resp<ConfigResp> keyStr(ConfigReq req);

}
